14411
14932
Hem yerel hem de uzak Git depoları için ana dalı yeniden adlandırma bölümünde açıklandığı gibi uzak dalı yeniden adlandırmak istemiyorum.
Uzak bir şubeye gönderilmemiş bir yerel şubeyi nasıl yeniden adlandırabilirim?
Uzak dalı da yeniden adlandırmanız gerekirse: Hem Git yerel hem de uzak şube adını nasıl yeniden adlandırabilirim 
1
2
Sonraki
Herhangi bir dalı işaret ederken bir dalı yeniden adlandırmak istiyorsanız, şunu yapın:
git şube -m  
Mevcut şubeyi yeniden adlandırmak isterseniz şunları yapabilirsiniz:
git şube -m 
Bunu hatırlamanın bir yolu -m "taşıma" (veya mv) içindir, bu da dosyaları nasıl yeniden adlandırdığınızdır. Bir takma ad eklemek de yardımcı olabilir. Bunu yapmak için aşağıdakileri çalıştırın:
git config --global alias.rename 'şube -m'
Windows veya büyük / küçük harfe duyarlı olmayan başka bir dosya sistemindeyseniz ve adda yalnızca büyük harf değişiklikleri varsa, -M kullanmanız gerekir, aksi takdirde git, dal zaten var hatası atar:
git şube -M 
|
git şube -m old_branch_name yeni_branch_name
Yukarıdaki komut dal adınızı değiştirecektir, ancak yeniden adlandırılmış dalı kullanırken çok dikkatli olmalısınız çünkü eğer varsa, yine de kendisiyle ilişkili eski yukarı akış dalına başvuracaktır.
Yerel şubeniz new_branch_name (örnek ad) olarak yeniden adlandırıldıktan sonra bazı değişiklikleri ana sınıfa aktarmak istiyorsanız:
git push origin new_branch_name: master (şimdi değişiklikler ana şubeye gidecek ancak yerel şube adınız new_branch_name olacak)
Daha fazla ayrıntı için, "Git'te yerel şube adınızı nasıl yeniden adlandırabilirsiniz" konusuna bakın.
|
Mevcut şubenizi yeniden adlandırmak için:
git şube -m 
|
Şubeyi yeniden adlandırmanın adımları şunlardır:
Yeniden adlandırılması gereken şubeye geçin
git şube -m 
git itme kaynağı: 
git push kaynağı : refs / Heads / 
DÜZENLEME (12/01/2017): git status komutunu çalıştırdığınızdan emin olun ve yeni oluşturulan dalın eskisine değil, kendi referansına işaret edip etmediğini kontrol edin. Eski şubeye referans bulursanız, yukarı akış ayarını aşağıdakileri kullanarak kaldırmanız gerekir:
git şube --unset-upstream
|
Şubeyi yeniden adlandırmak, şubeniz bittikten sonra faydalı olacaktır. Sonra yeni şeyler geliyor ve onu silmek yerine aynı şubede geliştirmek ve yenisini oluşturmak istiyorsunuz.
Deneyimlerime göre, Git'te yerel ve uzak bir dalı yeniden adlandırmak için aşağıdaki adımları uygulamanız gerekir.
Birden Çok Durumdan Alıntı Yapma - içindeki yerel ve uzak şubeyi yeniden adlandırın
git
1. Yerel şubenizi yeniden adlandırın
Şubedeyseniz yeniden adlandırmak istiyorsanız:
git şube -m yeni-ad
Farklı bir şubedeyseniz:
git şube -m eski ad yeni ad
2. Eski adı bulunan uzak dalı silin ve yeni adı olan yerel şubeyi itin
git itme kaynağı: eski ad yeni ad
3. Yeni addaki yerel şube için yukarı akış şubesini sıfırlayın
git itme kaynağı -u yeni-ad
|
Şimdiye kadar cevaplar doğruydu, ancak işte bazı ek bilgiler:
Bir dalı güvenli bir şekilde '-m' (hareket ettir) ile yeniden adlandırabilir, ancak '-M' ile dikkatli olmak gerekir, çünkü zaten aynı ada sahip mevcut bir dal olsa bile yeniden adlandırmayı zorlar. İşte 'git-branch' man sayfasından bir alıntı:
Bir -m veya -M seçeneğiyle,   olarak yeniden adlandırılacaktır.  'ın karşılık gelen bir yeniden günlüğü varsa,  ile eşleşecek şekilde yeniden adlandırılır ve dalın yeniden adlandırılmasını hatırlamak için bir yeniden günlüğe kaydetme girişi oluşturulur.  varsa, yeniden adlandırmanın gerçekleşmesini sağlamak için -M kullanılmalıdır.
|
1. Yeniden adlandırın
Şu anki şubenizse, sadece yapın
git şube -m yeni_adı
Yeniden adlandırmak istediğiniz başka bir dalsa
git şube -m eski_ad yeni_name
2. Yeni bir uzak dalı takip edin
- Şubeniz itildiyse, yeniden adlandırdıktan sonra onu uzak Git deposundan silmeniz ve yeni yerelden yeni bir uzak dalı izlemesini istemeniz gerekir:
git itme kaynağı: eski_adı
git push --set-upstream kaynak yeni_adı
|
Kısa çizgiyle başlayan bir dalı aptalca adlandırdım ve sonra ustayı kontrol ettim. Şubemi silmek istemedim, işim vardı.
Bunların hiçbiri işe yaramadı:
git checkout -dumb-adı
git checkout - -dumb-adı
"s, 's ve \ s de yardımcı olmadı. git branch -m çalışmıyor.
İşte sonunda nasıl düzelttiğim. Çalışma kopyanızın .git / refs / heads bölümüne gidin, "-dumb-name" dosya adını bulun, dalın karmasını alın. Sonra bu kontrol edecek, aklı başında bir adla yeni bir şube oluşturacak ve eskisini silecektir.
git checkout {hash}
git checkout -b parlak-isim
git şube -d - -dumb-adı
|
Bir şubeyi yerel olarak yeniden adlandırmak için:
git şube -m [eski dal] [yeni dal]
Şimdi bu değişiklikleri uzak sunucunuzda da yaymanız gerekecek.
Silinen eski dalın değişikliklerini göndermek için:
git itme kaynağı: [eski dal]
Yeni dal oluşturma değişikliklerini zorlamak için:
git itme kaynağı [yeni dal]
|
Uzakta ve GitHub'da ad değişikliğini çoğaltmak için yalnızca üç adım:
Adım 1 git şube -m old_branchname yeni_branchname
Adım 2 git itme kaynağı: eski_branchname yeni_branchname
Adım 3 git push --set-upstream orijinli new_branchname
|
Bu komutu kullanarak dalı yeniden adlandırın:
git şube -m [eski_branch_name] [yeni_branch_name]
-m: Şubeyi yeniden adlandırır / taşır. Zaten bir şube varsa, bir hata alırsınız.
Zaten bir şube varsa ve o şubeyle yeniden adlandırmak istiyorsanız, şunu kullanın:
git yeniden adlandır -M [eski_branch_name] [yeni_branch_name]
Yardım hakkında daha fazla bilgi için terminalde şu komutu kullanın:
git şube - yardım
veya
adam gitşube
|
Gelişmiş Git kullanıcıları aşağıdakileri kullanarak manuel olarak yeniden adlandırabilir:
.Git / refs / heads altında eski şubeyi yeni adla yeniden adlandırın
.Git / logs / refs / Heads altındaki eski dalı yeni adla yeniden adlandırın
.Git / HEAD'i yeni şube adını gösterecek şekilde güncelleyin
|
Yerel şubenizi yeniden adlandırın.
Şubedeyseniz yeniden adlandırmak istiyorsanız:
git şube -m yeni-ad
Farklı bir şubedeyseniz:
git şube -m eski ad yeni ad
Eski adı bulunan uzak dalı silin ve yeni adı olan yerel şubeyi itin.
git itme kaynağı: eski ad yeni ad
Yeni isimli yerel şube için yukarı akış şubesini sıfırlayın.
Şubeye geçin ve ardından:
git itme kaynağı -u yeni-ad
Veya bunu yapmanın hızlı bir yolu olarak şu 3 adımı kullanabilirsiniz:
# Şubeyi yerel olarak yeniden adlandırın
git şube -m old_branch new_branch
# Eski uzak dalı silin
git itme kaynağı: old_branch
# Yeni şubeyi itin, yeni uzaktan kumandayı izlemek için yerel şubeyi ayarlayın
git push --set-upstream kaynağı new_branch
Referans: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
|
İşte üç adım: Terminalinizin içinde arayabileceğiniz ve şube adını değiştirebileceğiniz bir komut.
git şube -m old_branch new_branch # Şubeyi yerel olarak yeniden adlandır
git push kaynağı: old_branch # Eski dalı sil
git push --set-upstream origin new_branch # Yeni şubeyi itin, yerel şubeyi yeni uzaktan kumandayı izlemek için ayarlayın
Daha fazlasına ihtiyacınız varsa: Adım adım Git Şube Adı Nasıl Değiştirilir, bununla ilgili iyi bir makale.
|
Muhtemelen başkalarının da bahsettiği gibi, bu dal isimlendirmesinde bir durum uyuşmazlığı olacaktır.
Böyle bir durumunuz varsa, Windows'ta olduğunuzu tahmin edebilirim, bu da sizi şunlara götürecektir:
$ git branch -m Büyük / Küçük Harfe Duyarlı Büyük / Küçük Harfe Duyarlı
ölümcül: 'Büyük / küçük harf duyarlı' adlı bir dal zaten var.
O zaman bir ara adım atmalısınız:
$ git şube -m geçici
$ git branch -m büyük / küçük harf duyarlı
Daha fazlası yok.
|
Soruya özel olarak cevap vermeye çalışıyorum (en azından başlık).
Yerel şubeyi de yeniden adlandırabilirsiniz, ancak uzaktan kumandadaki eski adı izlemeye devam edebilirsiniz.
git şube -m old_branch new_branch
git push --set-upstream orijinli new_branch: old_branch
Şimdi, git push çalıştırdığınızda, uzak eski şube referansı yerel new_branch ile güncellenir.
Bu konfigürasyonu bilmeli ve hatırlamalısınız. Ancak, uzak şube adı için seçeneğiniz yoksa ancak beğenmiyorsanız (oh, yani, beğenmemek için çok iyi bir nedeniniz var!) Ve daha net bir yerel şubenizin adı.
Getirme yapılandırmasıyla oynayarak, yerel uzaktan referansı yeniden adlandırabilirsiniz. yani, şubeye bir refs / remote / origin / new_branch ref işaretçisine sahip olmak, yani aslında başlangıçtaki old_branch. Ancak, zihninizin güvenliği için bunu kesinlikle caydırıyorum.
|
Şubeyi yerel olarak değiştirmek oldukça kolay ...
İsmini değiştirmek istediğiniz şubedeyseniz, şunu yapmanız yeterlidir:
git şube -m yeni_dalgım
Aksi takdirde, ana dalda veya adını değiştirmek istediğiniz dışında başka bir daldaysanız, yapmanız gereken:
git şube -m benim_old_branşım_yeni_branşım
Ayrıca, bunu bir komut satırında eylem halinde göstermek için aşağıdaki resmi oluşturuyorum. Bu durumda, ana daldasınız, örneğin:
|
SourceTree'yi (şiddetle tavsiye ettiğim) kullanmak istiyorsanız, şubenize sağ tıklayıp 'Yeniden Adlandır'ı seçebilirsiniz.
|
Mevcut şubeyi yeniden adlandırmak için (ayrılmış HEAD durumu dışında) şu takma adı da kullanabilirsiniz:
[takma ad]
mvh =! sh -c 'git şube -m `git rev-ayrıştırma --abbrev-ref HEAD` $ 1'
|
Başka bir seçenek de komut satırını hiç kullanmamaktır. SourceTree gibi Git GUI istemcileri, bunun gibi soruların Stack Overflow'da en çok görüntülenenler arasında olmasına neden olan sözdizimsel öğrenme eğrisinin / ağrısının çoğunu ortadan kaldırır.
SourceTree'de, soldaki "Dallar" bölmesinde herhangi bir yerel şubeye sağ tıklayın ve "Yeniden Adlandır ..." seçeneğini seçin.
|
Bunu yapmanın basit bir yolu:
git şube -m old_branch new_branch # Şubeyi yerel olarak yeniden adlandır
git push origin: old_branch # Eski dalı sil
git push --set-upstream origin new_branch # Yeni şubeyi itin, yerel şubeyi yeni uzaktan kumandayı izlemek için ayarlayın
Daha fazlası için buna bakın.
|
Şubeyi uzak bir sunucuya göndermek istemediğiniz için, bu örnek faydalı olacaktır:
Diyelim ki "my-hot-feature" adında mevcut bir şubeniz var ve onu "feature-15" olarak yeniden adlandırmak istiyorsunuz.
Öncelikle yerel şubenizi değiştirmek istiyorsunuz. Bu daha kolay olamazdı:
git şube -m my-hot-feature-15
Daha fazla bilgi için Git'te Yerel Olarak ve Uzaktan Bir Şubeyi Yeniden Adlandırma sayfasını ziyaret edebilirsiniz.
|
Git sürüm 2.9.2
Bulunduğunuz yerel şubenin adını değiştirmek istiyorsanız:
git şube -m yeni_adı
Farklı bir şubenin adını değiştirmek isterseniz:
git şube -m eski_ad yeni_name
Farklı bir şubenin adını zaten var olan bir adla değiştirmek isterseniz:
git şube -M eski_ad yeni_ad_that_already_exists
Not: Son komut yıkıcıdır ve şubenizi yeniden adlandıracaktır, ancak bu adı taşıyan eski dalı kaybedeceksiniz.ve bu taahhütler, çünkü şube adları benzersiz olmalıdır.
|
Mevcut şubenin adını değiştirmek istiyorsanız, şunu çalıştırın:
git şube -m [eski_şube] [yeni_şube]
Eski uzak dalı silmek istiyorsanız, şunu çalıştırın:
git itme kaynağı: [old_branch]
Eski uzak dalı silmek ve yeni bir uzak dal oluşturmak istiyorsanız, şunu çalıştırın:
git itme kaynağı: old_branch new_branch
|
Aslında üç adımınız var çünkü yerel şubenin sunucuda bir kopyası var, bu nedenle sunucudaki iki adımda yerel için bir adımımız var:
Yerel olarak yeniden adlandırın: mevcut şubenizi yeniden adlandırmak için aşağıdaki komutu kullanın, hatta teslim almış olsanız bile:
git şube -m  
Sunucuyu bir sil: sunucudaki eski ad dalını silmek için aşağıdaki komutu kullanın:
git push : 
Yenisini itin: şimdi sunucuda adı verilen yeni şubeyi itme zamanı:
git push -u 
|
Git dalının yeniden adlandırılması şu şekilde yapılabilir:
git şube -m oldBranch newBranch
git şube -M oldBranch ExistingBranch
-M ve -M arasındaki fark:
-m: Şubenizi -m kullanarak mevcut bir şube adıyla yeniden adlandırmaya çalışıyorsanız.
Dalın zaten var olduğunu söyleyen bir hata ortaya çıkaracaktır. Benzersiz bir isim vermeniz gerekiyor.
Fakat,
-M: Bu, var olsa bile belirli bir adla yeniden adlandırmaya zorlamanıza yardımcı olacaktır. Yani mevcut bir şube tamamen bunun üzerine yazacak ...
İşte bir Git terminal örneği,
mohideen @ dev: ~ / proje / uygulamam / sunithamakeup $ git şubesi
usta
usta0
new_master
Ölçek
* test1
mohideen @ dev: ~ / proje / uygulamam / sunithamakeup $ git şubesi -m test1 test
ölümcül: 'test' adlı bir dal zaten var.
mohideen @ dev: ~ / proje / uygulamam / sunithamakeup $ git şubesi -M test1 testi
mohideen @ dev: ~ / proje / uygulamam / sunithamakeup $ git şubesi
usta
usta0
new_master
* Ölçek
mohideen @ dev: ~ / proje / uygulamam / sunithamakeup $
|
Git GUI kullanıcıları için çok daha basit olamazdı.
Git GUI'de Dal: Yeniden Adlandır menü öğesinden oluşturulan "Şubeyi Yeniden Adlandır" iletişim kutusundaki açılır listeden dal adını seçin, Yeni Ad yazın ve "Yeniden Adlandır" düğmesine tıklayın. Açılır listeyi nerede bulacağımı vurguladım.
|
Önceki cevapların tümü git branch -m hakkında konuşuyor. Elbette çalıştırması kolay ama benim için başka bir Git komutunu hatırlamak biraz zor olabilir. Bu yüzden aşina olduğum komutla işi halletmeye çalıştım. Evet, tahmin etmiş olabilirsin.
Git şubesi -b  kullanıyorum. Ve eğer eski dalı kaydetmek istemiyorsanız şimdi git branch -D  komutunu çalıştırarak kaldırabilirsiniz.
Biraz sıkıcı olabileceğini biliyorum ama anlamak ve hatırlamak daha kolay. Umarım sizin için yararlı olur.
|
Eğer istersen:
Git deposunu yeniden adlandırın, şunu çalıştırın: git branch -m  
Eski dalı şu şekilde sil: git push kaynak: eski-ad yeni-isim
Şunu kullanarak tamamlayın: git commit 
ve sonra şunu kullanarak itin: git push origin new_branch_name: master
Durumu kontrol etmek istiyorsanız şunu kullanın: git durumu
Kontrol etmek istiyorsanız şunu kullanın: git checkout
|
Başlamadan önce, yeniden adlandırmak istediğiniz şubeyi seçtiğinizden emin olun:
git checkout eski ad
Tüm yerel şubelerinizi görmek istiyorsanız, aşağıdaki komutu kullanın:
git şube - liste
Tamamen emin olduğunuzda, şu adımları izleyin:
Git dal yeniden adlandır komutunu kullanmak, komutunuza bir -m seçeneği eklemenizi gerektirir:
git şube -m yeni-ad
Aşağıdaki iki komutu kullanarak yerel bir şubeyi başka bir şubeden de yeniden adlandırabilirsiniz:
git ödeme yöneticisi
git şube -m eski ad yeni ad
Son olarak, bu komut, yeniden adlandırıldığını doğrulamak için hem yerel hem de uzak dalları listeleyecektir:
git şube -a
Bir uzak şubeyi doğrudan yeniden adlandırmak mümkün olmasa da, birini yeniden adlandırma işlemi şu üç kolay adımı içerir:
Başlamak için, önceki adımları izleyerek yerel bir şubeyi yeniden adlandırmanız gerekecektir.
2. Ardından eski dalı silin ve yenisini itin. Bunu aşağıdaki komutlarla kolayca yapabilirsiniz:
git itme kaynağı - eski adı sil
git itme kaynağı: eski ad yeni ad
Yeni yerel şubeniz için yukarı akış şubesini sıfırlayın ve her şey hazır olacak:
git itme kaynağı -u yeni-ad
|
1
2
Sonraki
Oldukça aktif soru. Bu soruyu cevaplamak için 10 itibar kazanın. İtibar koşulu, bu sorunun istenmeyen postalardan ve yanıtlanmayan etkinliklerden korunmasına yardımcı olur.
Aradığın cevap değil mi? Git version-control git-branch etiketli diğer sorulara göz atın veya kendi sorunuzu sorun.